package reflect;

import java.lang.reflect.Method;

public class ReflectDemo6 {
    public static void main(String[] args) throws Exception {
        Person p = new Person();
//        p.hehe();//编译不通过，不能调用私有方法

        Class cls = Class.forName("reflect.Person");
        Object o = cls.newInstance();

//        Method m = cls.getMethod("hehe");
//        m.invoke(o);//NoSuchMethodException:getMethod只能获取所有公开的方法

        Method m = cls.getDeclaredMethod("hehe");//获取本类自己定义的方法，包括私有，但不能访问
        m.setAccessible(true);//强制要求访问
        m.invoke(o);

    }
}
